home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac-Source 1994 July
/
Mac-Source_July_1994.iso
/
Other Langs
/
Tickle-4.0 (tcl)
/
src
/
volumes.h
< prev
next >
Wrap
Text File
|
1993-11-18
|
4KB
|
173 lines
/*
** This source code was written by Tim Endres
** Email: time@ice.com.
** USMail: 8840 Main Street, Whitmore Lake, MI 48189
**
** Some portions of this application utilize sources
** that are copyrighted by ICE Engineering, Inc., and
** ICE Engineering retains all rights to those sources.
**
** Neither ICE Engineering, Inc., nor Tim Endres,
** warrants this source code for any reason, and neither
** party assumes any responsbility for the use of these
** sources, libraries, or applications. The user of these
** sources and binaries assumes all responsbilities for
** any resulting consequences.
*/
#define fVolSigWord 0xD2D7
#define hVolSigWord 0x4244
/* Describes data structures used for raw volume access. */
typedef struct {
unsigned short firstAlBlk;
unsigned short numAlBlks;
} ExtDesc;
typedef struct {
unsigned char xkrKeyLen;
unsigned char xkrFkType;
long xkrFNum;
unsigned short xkrFABN;
} ExtKey;
typedef struct {
unsigned char ckrKeyLen;
unsigned char ckrResrv1;
long ckrParID;
char ckrCName[1];
} CatKey;
typedef struct {
unsigned char cdrType;
unsigned char cdrResrv2;
} CatItem;
typedef struct {
unsigned char cdrType;
unsigned char cdrResrv2;
unsigned char filFlags;
unsigned char filTyp;
FInfo filUsrWds;
long filFlNum;
unsigned short filStBlk;
long filLgLen;
long filPyLen;
unsigned short filRStBlk;
long filRLgLen;
long filRPyLen;
long filCrDat;
long filMdDat;
long filBkDat;
FXInfo filFndrInfo;
unsigned short filClpSize;
ExtDesc filExtRec[3];
ExtDesc filRExtRec[3];
long filResrv;
} CatFileRecord;
typedef struct {
unsigned char cdrType;
unsigned char cdrResrv2;
unsigned short dirFlags;
unsigned short dirVal;
long dirDirID;
long dirCrDat;
long dirMdDat;
long dirBkDat;
DInfo dirUsrInfo;
DXInfo dirFndrInfo;
char dirResrv[16];
} CatDirRecord;
typedef struct {
unsigned char cdrType;
unsigned char cdrResrv2;
char thdResrv[8];
long thdParID;
char thdCName[1];
long filResrv;
} CatThreadRecord;
typedef struct {
ExtKey drKey;
ExtDesc drDesc;
} DRExtRec;
typedef struct {
unsigned short drSigWord;
unsigned long drCrDate;
unsigned long drLsMod;
short drAtrb;
unsigned short drNmFls;
short drVBMSt;
short drAllocPtr;
unsigned short drNmAlBlks;
long drAlBlkSiz;
long drClpSiz;
short drAlBlSt;
long drNxtCNID;
unsigned short drFreeBks;
char drVN[28];
unsigned long drVolBkUp;
unsigned short drVSeqNum;
long drWrCnt;
long drXTClpSiz;
long drCTClpSiz;
unsigned short drNmRtDirs;
long drFilCnt;
long drDirCnt;
long drFndrInfo[8];
unsigned short drVCSize;
unsigned short drVBMCSiz;
unsigned short drCtlCSiz;
long drXTFlSize;
ExtDesc drXTExtRec[3];
long drCTFlSize;
ExtDesc drCTExtRec[3];
} VolInfo, *VolInfoPtr;
typedef struct ICEPartInfo {
long iceSig;
long iceVersion;
long partSig;
short partLocked;
} ICEPartInfo, *ICEPartInfoPtr;
typedef struct PDEntry {
long pdStart;
long pdSize;
long pdFSID;
} PDEntry;
#define pdSigWord 0x5453
typedef struct OldPartition { /* 512 bytes long */
unsigned short pdSig;
PDEntry pdEntries[1];
} OldPartition;
typedef struct BTreeHeader {
short hdrCount; /* ? */
long hdrFirstIndex;
long hdrLastIndex; /* ? */
long hdrFirstLeaf;
long hdrLastLeaf; /* ? */
short something1; /* ? */
short something2; /* ? */
long something3; /* ? */
long something4; /* ? */
} BTreeHeader;
typedef struct BTreeRecord { /* 512 bytes long */
long ndFLink;
long ndBLink;
unsigned char ndType;
unsigned char ndLevel;
unsigned short ndRecs;
char ndData[498];
unsigned short ndRecPtr[1];
} BTreeRecord;